iT邦幫忙

2023 iThome 鐵人賽

DAY 13
0
Software Development

Laravel專案練習-寶可夢管理系統系列 第 13

Day13 寶可夢專案-部署練習-虛擬伺服器軟體安裝-mysql設定

  • 分享至 

  • xImage
  •  

1. MySQL 介紹

  • 什麼是MySQL?
    • MySQL是一個開放原始碼的關聯式資料庫管理系統。它可以快速地存取大量數據,支持多種語言,且具有高可靠性和可擴展性。MySQL的這些特性使它成為網站開發中最受歡迎的資料庫之一。

2. MySQL安裝

  • 從官方來源安裝
    • 通常可以透過系統的包管理器或直接從MySQL官方網站下載安裝套件進行安裝。選擇適合的安裝方法取決於你的伺服器作業系統和需求。
  • 常見的命令行指令
    • mysql -u [username] -p: 登入MySQL伺服器。

    • SHOW DATABASES;: 顯示所有可用的資料庫(記得要加S)。

    • USE [database_name];: 選擇某個資料庫進行操作。

    • SHOW TABLES;: 顯示當前資料庫中的所有表(記得要加S)。

    • DESCRIBE [table_name];: 描述表的結構。

  • 初始設定
    • 使用**mysql_secure_installation**工具可以增強MySQL的安全性,包括設置密碼政策、刪除匿名用戶等。
      • 啟用****VALIDATE PASSWORD COMPONENT*** 可以檢查密碼的強度。系統將根據所選的密碼政策要求用戶設置密碼。強烈建議在生產環境中使用此功能以提高安全性。

3. 遭遇的問題

在執行**php artisan migrate時,遇到了could not find driver**的錯誤。這是由於MySQL驅動程序未正確設置所致。為了解決這個問題,我先進入MySQL並執行以下命令:


ALTER USER 'root'@'localhost' IDENTIFIED WITH 'mysql_native_password' BY 'your_password'; FLUSH PRIVILEGES;

這樣,我成功地將MySQL的認證方式更改為**mysql_native_password**,並設置了新的密碼。

  1. mysql_native_password: 這是MySQL的傳統認證方法。當用戶設置或更改密碼時,它使用SHA1進行雜湊並對其進行哈希,並存儲結果。當客戶端嘗試連接時,服務器發送一個隨機的字節串給客戶端,客戶端使用它的密碼進行雜湊,然後將結果發送回服務器。服務器執行相同的操作,並比較兩者。如果它們匹配,則授予訪問權限。
  2. caching_sha2_password: 這是MySQL 8.0及以後版本的預設認證方法。它使用SHA-256算法,與**mysql_native_password**相比,它提供了更高的安全性。此外,它使用一個快取機制,這意味著已認證的用戶在後續連接中可以更快地被認證,因為它們的認證數據會被暫存。
  3. sha256_password: 這也使用SHA-256進行加密,但它需要SSL/TLS連接。當用戶試圖連接時,如果連接沒有使用SSL/TLS,則它將被拒絕。這個方法的主要特點是它的加密強度和對安全連接的依賴。

.env檔案設定, 將要連線的資料庫資訊輸入.env

  • 如何用tableplus連線到遠端資料庫
  • https://ithelp.ithome.com.tw/upload/images/20230928/20157341SqIqYPwDOa.png

上一篇
Day12寶可夢專案-部署練習-虛擬伺服器軟體安裝-Nginx設定-遇到的問題
下一篇
Day14 寶可夢專案-部署練習-https設定-https基本介紹
系列文
Laravel專案練習-寶可夢管理系統30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言